/*
 *
 * @var:
 Program.id_channel = 0;
 Program.id_tvshow = 0;
 Program.background_show = "";
 Program.logo_channel = "";
 Program.name = '';
 Program.id_show = 0;
 Program.id_question = 0;
 Program.id_anser = 0;
 Program.data_question = {Question data}
 */
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'S', 'P', 'R', 'U', 'V', 'X', 'Y'];
var Program = {
    unAnswer: function () {
        //console.log("before_tvshow: " + Program.before_tvshow + " - before_user: " + Program.before_user + " - before_show: " + Program.before_show + " - before_question: " + Program.before_question + " - id_anser: " + Program.before_answer);
        //console.log("before_tvshow: " + Program.id_tvshow + " - before_user: " + User.id + " - before_show: " + Program.id_show + " - before_question: " + Program.id_question + " - id_anser: " + Program.id_answer);
        if (Program.before_tvshow == Program.id_tvshow &&
                Program.before_user == User.id &&
                Program.before_show == Program.id_show &&
                Program.before_question == Program.id_question &&
                Program.before_answer == Program.id_answer) {

            return false;
        }

        return true;
    },
    Answer: {
        isAnswer: function () {
            return Program.Answer.answered_number;
        },
        reset: function () {
            Program.Answer.exactly_number = 0;
            Program.Answer.answered_number = 0;
        },
        isStop: false
    },
    LastQuestion: {
        set: function (success, error) {
            var data = {
                saved: App.Timestamp.getDateTime(),
                id_tvshow: Program.id_tvshow,
                id_show: Program.id_show,
                id_question: Program.id_question,
                id_answer: Program.id_answer,
                id_user: User.id,
                data_question: Program.data_question,
                answer: Program.Answer,
                other_opinion: Program.other_opinion
            };

            App.setSession("LastQuestion_" + Program.id_tvshow, JSON.stringify(data), success, error);
        },
        reset: function (success, error) {
            var data_reset = {
                saved: 0,
                id_tvshow: Program.id_tvshow,
                id_show: (Program.id_show == undefined ? 0 : Program.id_show),
                id_question: 0,
                id_answer: 0,
                id_user: User.id,
                data: "",
                answer: Program.Answer
            };
            //console.log("Reset",data_reset);
            Program.id_answer = 0;
            Program.id_show = (Program.id_show == undefined ? 0 : Program.id_show);
            Program.id_question = 0;
            Program.data_question = "";
            Program.before_answer = 0;
            Program.before_question = 0;
            Program.before_show = 0;
            Program.before_tvshow = 0;
            Program.before_user = 0;
            if (typeof success == 'function')
                success();
            //App.setSession("LastQuestion_" + Program.id_tvshow, JSON.stringify(data_reset), success, error);
        },
        remove: function (success, error) {
            Program.id_answer = 0;
            Program.id_show = 0;
            Program.id_question = 0;
            Program.data_question = "";

            Program.before_answer = 0;
            Program.before_question = 0;
            Program.before_show = 0;
            Program.before_tvshow = 0;
            Program.before_user = 0;

            Program.Answer.answered_number = 0;
            Program.Answer.exactly_number = 0;
            App.setSession("LastQuestion_" + Program.id_tvshow, "", success, error);
        },
        get: function (success, error) {
            App.getSession("LastQuestion_" + Program.id_tvshow, success, error);
        }
    },
    activeContent: function (data) {
        $("#content_tvshow").show();
        Program.id_show = data.show_id;
        Program.id_question = data.id_question;
        Program.is_showstopped = data.stop_vote;
        Program.other_opinion = data.other_opinion;
        Program.type_qa = data.type_qa;
        Program.is_statistic = data.isshowannalytic;
        Program.is_share = data.isshare;
        Program.data_question = data.question;
        Program.Answer.isStop = false;
        var count = 0;
        var ItemAnswer = '';
        $.each(Program.data_question.choice, function (index, item) {
            count++;
            var selected = Program.before_answer == count ? "selected" : "";
            ItemAnswer += '<li id="answerid_' + count + '" class="Answer choice-' + count + ' ' + selected + '" data-id="' + count + '"><label>' + count + '</label><span class="content">' + item[0].stripslashes() + '</span></li>';
        });

        if (Program.other_opinion == 1) {
            count++;
            var selected = Program.before_answer == count ? "selected" : "";
            ItemAnswer += '<li id="answerid_' + count + '" class="Answer other_opinion choice-' + count + ' ' + selected + '" data-id="' + count + '"><label>' + count + '</label><span class="content">Ý kiến khác</span></li>';
        }
        if (Program.is_statistic != 1) {
            $("#content_tvshow").addClass("iy7cd");//ko co thong ke
            $(".btnStatistic").remove();
        } else {
            $("#content_tvshow").removeClass("iy7cd");
        }
        if (Program.is_share == 1) {
            $(".pluginButton").css({display: "inline-block"}).html('<div class="pluginButtonContainer"><span class="pluginButtonLabel">Chia sẻ</span></div>');
        }
        $(".Question").html(Program.data_question.question.stripslashes()).addClass("fadeInDown animated");
        $(".Choices").html("<ul>" + ItemAnswer + "</ul>").addClass("effect");

        /*
         *@Active statistic 
         */
        initChartChoice();

        /*
         *@Active choice
         */
        Program.LastQuestion.get(function (data) {
            //console.log("LastQuestion", data);
            $("#answerid_" + data.id_answer).addClass("selected");
        });

        function caseOptions(number) {
            switch (number) {
                case 1: //User login
                    Toast.progress({});
                    $.ajax({
                        url: App.Base_Api + "answer-update",
                        data: {
                            tvshow_id: Program.id_tvshow,
                            user_id: User.id,
                            channel_id: Program.id_channel,
                            show_id: Program.id_show,
                            question_id: Program.id_question,
                            choice: Program.id_answer,
                            change: Program.type_qa
                        },
                        success: function (data) {
                            if (data == "200" || data == "205") {
                                Status.push("Bạn đã lựa chọn đáp án");
                                Program.id_answer = id_answered;
                                Program.Answer.answered_number += 1;

                                Program.before_question = Program.id_question;
                                Program.before_answer = Program.id_answer;
                                Program.before_tvshow = Program.id_tvshow;
                                Program.before_show = Program.id_show;
                                Program.before_user = User.id;

                                Program.LastQuestion.set(function () {
                                    var type_qa = Program.type_qa == 1 ? 1 : null;
                                    /*console.log("type: " + type_qa);
                                     console.log("old :" + Program.old_answer);
                                     console.log("now: " + Program.id_answer);*/
                                    socket.emit('creatAnalytics', {
                                        id_tvshow: Program.id_tvshow,
                                        id_vote: Program.id_answer,
                                        user_id: User.id,
                                        id_channel: Program.id_channel,
                                        id_question: Program.id_question,
                                        id_vote_old: Program.old_answer,
                                        type: type_qa
                                    });
                                    Toast.progressNext();

                                    IsMobile(function (value) {
                                        if (value & Program.is_statistic == 1) {
                                            $(".btnStatistic").hide();
                                            $(".btnBack").css("display", "inline-block");
                                            $(".Choices").hide();
                                            $(".Statistic").show();
                                        }
                                    });

                                });
                            } else {
                                Toast.progressNextToToast({
                                    text: "Bạn đã trả lời, xin vui lòng đợi.",
                                    id: "gv"
                                });
                            }
                        },
                        error: function (jqXHR, textStatus) {
                            if (textStatus == "timeout") {
                                Toast.progressNext({
                                    text: "<h6>Kết nối quá lâu.</h6><p>Vui lòng kiểm tra internet hoặc thử lại.</p>",
                                    type: "failure",
                                    height: 132,
                                    width: 190,
                                    turnoff: 3500
                                });
                            } else {
                                Toast.progressNext({
                                    text: "Không có kết nối.",
                                    type: "failure",
                                    height: 98,
                                    width: 112,
                                    turnoff: 2000
                                });
                            }
                        }
                    });
                    break;
                case 2: //Chỉ tạo thống kê
                    Toast.progress({});
                    Status.push("Bạn đã lựa chọn đáp án");
                    if (Program.type_qa == 0) {
                        Program.id_answer = id_answered;
                    }
                    Program.Answer.answered_number += 1;

                    Program.before_question = Program.id_question;
                    Program.before_answer = Program.id_answer;
                    Program.before_tvshow = Program.id_tvshow;
                    Program.before_show = Program.id_show;
                    Program.before_user = User.id;

                    Program.LastQuestion.set(function () {
                        var type_qa = Program.type_qa == 1 ? 1 : null;
//                        console.log("type: " + type_qa);
//                        console.log("old :" + Program.old_answer);
//                        console.log("now: " + Program.id_answer);

                        socket.emit('creatAnalytics', {
                            id_tvshow: Program.id_tvshow,
                            id_vote: Program.id_answer,
                            user_id: User.id,
                            id_channel: Program.id_channel,
                            id_question: Program.id_question,
                            id_vote_old: Program.old_answer,
                            type: type_qa
                        });
                        Toast.progressNext();
                        IsMobile(function (value) {
                            if (value & Program.is_statistic == 1) {
                                $(".btnStatistic").hide();
                                $(".btnBack").css("display", "inline-block");
                                $(".Choices").hide();
                                $(".Statistic").show();
                            }
                        });
                    });

                    break;
                case 3:
                    UI_Dialog.showConfirm({
                        title: "Ý kiến của bạn",
                        width: "400px",
                        content: '<textarea id="text_opinion" placeholder="Nhập ý kiến của bạn" rows="3"></textarea>',
                        buttons: [{id: "Confirm_cancel", text: "Huỷ bỏ"}, {id: "Submit_OtherOption", text: "Gửi đi", type: "bold"}],
                        event: function () {
                            $("#text_opinion").focus();
                            $("#Submit_OtherOption").on("click", function () {
                                var content = $("#text_opinion").val();
                                if ($.trim(content) != "") {
                                    UI_Dialog.close();
                                    $("#text_opinion").blur();
                                    Toast.progress({});
                                    $.ajax({
                                        url: App.Base_Api + 'other-opinion',
                                        data: {
                                            user_id: User.id,
                                            tvshow_id: Program.id_tvshow,
                                            id_show_log: Program.id_show,
                                            id_question: Program.id_question,
                                            content: content
                                        },
                                        success: function (data) {

                                            if (data == 200) {
                                                Status.push("Bạn đã lựa chọn đáp án");


                                                Program.Answer.answered_number += 1;
                                                Program.before_question = Program.id_question;
                                                Program.before_answer = Program.id_answer;
                                                Program.before_tvshow = Program.id_tvshow;
                                                Program.before_show = Program.id_show;
                                                Program.before_user = User.id;

                                                Program.LastQuestion.set(function () {
                                                    Program.id_answer = id_answered;
                                                    $(".selected").removeClass("selected");
                                                    $("#answerid_" + Program.id_answer).addClass("selected");
                                                    var type_qa = Program.type_qa == 1 ? 1 : null;
//                                                    console.log("type: " + type_qa);
//                                                    console.log("old :" + Program.old_answer);
//                                                    coconsole.lognsole.log("now: " + Program.id_answer);
                                                    socket.emit('creatAnalytics', {
                                                        id_tvshow: Program.id_tvshow,
                                                        id_vote: Program.id_answer,
                                                        user_id: User.id,
                                                        id_channel: Program.id_channel,
                                                        id_question: Program.id_question,
                                                        id_vote_old: Program.old_answer,
                                                        type: type_qa
                                                    });
                                                    Toast.progressNext();
                                                    IsMobile(function (value) {
                                                        if (value & Program.is_statistic == 1) {
                                                            $(".btnStatistic").hide();
                                                            $(".btnBack").css("display", "inline-block");
                                                            $(".Choices").hide();
                                                            $(".Statistic").show();
                                                        }
                                                    });
                                                });

                                            } else {
                                                Toast.progressNextToToast({
                                                    text: "Có lỗi khi gửi ý kiến của bạn.",
                                                    id: "gv",
                                                    type: "warning"
                                                });
                                            }
                                        },
                                        error: function (jqXHR, textStatus) {
                                            if (textStatus == "timeout") {
                                                Toast.progressNext({
                                                    text: "<h6>Kết nối quá lâu.</h6><p>Vui lòng kiểm tra internet hoặc thử lại.</p>",
                                                    type: "failure",
                                                    height: 132,
                                                    width: 190,
                                                    turnoff: 3500
                                                });
                                            } else {
                                                Toast.progressNext({
                                                    text: "Không có kết nối.",
                                                    type: "failure",
                                                    height: 98,
                                                    width: 112,
                                                    turnoff: 2000
                                                });
                                            }
                                        }
                                    });
                                } else {
                                    Toast.show({
                                        text: "Vui lòng nhập ý kiến của bạn.",
                                        id: "gv"
                                    });
                                }

                            });
                        }
                    });
                    break;
                default:
                    break;
            }
        }



        /*
         *@Event Tvshow
         */
        var id_answered = 0;
        $(".Choices li").on("click", function () {
            if (Program.Answer.isStop) {
                Toast.show({text: "Câu hỏi này đã kết thúc, vui lòng đợi.", id: "gv"});
                return fasle;
            }
            Program.old_answer = $("li.selected").length == 0 ? null : $("li.selected").data("id"); //Lấy câu trả lời cũ
            id_answered = $(this).data("id");

            //if (Program.unAnswer()) {
            if (Program.type_qa == 1) { //Chương trình thời sự
                Program.id_answer = id_answered;
                if ($(this).hasClass("other_opinion")) { //Bấm vào ý kiến khác
                    if (!$(this).hasClass("selected")) {
                        caseOptions(3);
                    } else {
                        Toast.show({
                            text: "Bạn đã lựa chọn đáp án này.",
                            id: "gv",
                            type: "warning"
                        });
                    }
                } else { //Bấm vào đáp án
                    if (!$(this).hasClass("selected")) {
                        $(".selected").removeClass("selected");
                        $("#answerid_" + Program.id_answer).addClass("selected");
                        if (User.isLogin()) { //Đã login
                            caseOptions(1);
                        } else { //Chưa login
                            $(".selected").removeClass("selected");
                            $("#answerid_" + Program.id_answer).addClass("selected");
                            caseOptions(2); //Đẩy thống kê
                        }
                    } else {
                        Toast.show({
                            text: "Bạn đã lựa chọn đáp án này.",
                            id: "gv",
                            type: "warning"
                        });
                    }
                }
            } else { //Chương trình giải trí
                if ($("li.selected").length == 0 && id_answered != Program.id_answer) { //Chưa trả lời
                    $(this).addClass("selected");
                    Toast.progress({});
                    if (User.isLogin()) {
                        caseOptions(1);
                    } else {
                        caseOptions(2);
                    }
                } else {
                    Toast.show({
                        text: "Bạn đã trả lời, xin vui lòng đợi.",
                        id: "gv",
                        type: "warning"
                    });
                }
            }

            /*} else {
             Toast.show({
             text: "Bạn đã lựa chọn đáp án này.",
             id: "gv",
             type: "warning"
             });
             }*/

        });
    },
    convertTime: function (deltaTime) {
        var miligiay = deltaTime % (60 * 1000);
        var miligay_ = miligiay % 1000;
        var giay = (miligiay - miligay_) / 1000;
        var phut = (deltaTime - miligiay) / 60 / 1000;
        if (phut < 10) {
            phut = "0" + phut;
        }
        if (giay < 10) {
            giay = "0" + giay;
        }
        return phut + " phút " + giay + " giây " + miligay_ + " ms";
    },
    runSocket: function () {

        /*
         *@7. Client kết nối muộn
         */

        socket.on('responConnecttwo', function (data) {
//            console.log("====== responConnecttwo =====");
//            console.log(data);

            if (data != null && parseInt(data.stop_vote) === 0) {
                if (Program.status_show == 1) {
                    if (Program.id_tvshow == data.id_tvshow) {
                        if (data != null) {
                            Status.push("Bạn đang nhận câu hỏi từ chương trình");
                            //console.log("Program.id_question: " + Program.id_question + " - data.id_question:" + data.id_question);
                            if (Program.id_question != data.id_question) {

                                Program.LastQuestion.reset(function () {
                                    Program.activeContent(data);
                                    App.soundEffect("start");
                                });
                            } else {
                                Program.activeContent(data);
                                App.soundEffect("start");
                            }
                        } else {
                            Program.LastQuestion.reset();
                        }
                    }
                }
            } else {
                Program.LastQuestion.reset();
                setTimeout(function () {
                    if (Program.status_show == 1) {
                        Status.push("Vui lòng đợi câu hỏi trong ít phút.");
                    } else {
                        Status.push("Chương trình sẽ được phát sóng vào lúc " + Program.time + ".");
                    }
                }, 1000);
            }
        });

        /*
         *@11. Nhận gói câu hỏi
         *@Param data: Gói câu hỏi kiểu JSON
         */
        socket.on('addOneVote', function (data) {
            //console.log("====== addOneVote =====");
            //console.log(data);
            if (data != null && Program.id_tvshow == data.id_tvshow) {
                Status.push("Bạn vừa nhận được câu hỏi mới từ chương trình");
                Program.LastQuestion.reset(function () {
                    $("#text_opinion").val('');
                    App.soundEffect("start");
                    Program.activeContent(data);
                });
            }
        });

        /*
         *@12. Stop vote
         *@Param id_tvshow: Id trương trình
         */
        socket.on('stop_vote_client', function (id_tvshow) {
            //console.log("=====stop_vote_client=====");
            //console.log(id_tvshow);
            if (Program.id_tvshow == id_tvshow) {
                $("#OtherOption").hide();
                Program.Answer.isStop = true;
                if (Program.type_qa == 1) {
                    Program.LastQuestion.reset();
                    Status.push("Kết thúc trả lời, xin chờ câu hỏi tiếp theo");
                } else {
                    Status.push("Kết thúc trả lời, xin hãy đợi kết quả.");
                }
            }
        });
        /*
         *@II. Socket thêm
         */
        //1. Start 1 chuongs trinh
        socket.on('push_client_start_show_id', function (id_show, id_tvshow) {
            //console.log("========push_client_start_show_id==========");
            //console.log("id_show: " + id_show + " - id_tvshow: " + id_tvshow);
            if (Program.id_tvshow == id_tvshow) {
                Program.LastQuestion.remove(); //Remove
                Status.push("Chương trình bắt đầu, vui lòng đợi câu hỏi");
            }
        });

        //2. Stop chuongs trinh
        socket.on('push_client_stop_show_id', function (id_show, id_tvshow, NumberCountQAC) {
            //console.log("========= Stop chuongs trinh ===========");
            //console.log("total_question: " + NumberCountQAC);
            if (Program.id_tvshow == id_tvshow) {

                if (User.isLogin()) {
                    if (Program.Answer.isAnswer()) {
                        if (Program.Answer.exactly_number > 0) {
                            $.ajax({
                                url: App.Base_Api + "get-score?show_id=" + id_show + "&user_id=" + User.id,
                                success: function (data) {
                                    Program.pushResult({
                                        case: 4,
                                        time_total: data.time_total,
                                        exactly_number: data.point,
                                        total_question: NumberCountQAC
                                    });
                                }
                            });
                        } else {
                            Program.pushResult({
                                case: 5,
                                total_question: NumberCountQAC
                            });
                        }
                    } else {
                        Program.pushResult({
                            case: 3,
                            total_question: NumberCountQAC
                        });
                    }
                } else { //Chưa đăng nhập
                    if (Program.Answer.isAnswer()) {
                        Program.pushResult({
                            case: 2,
                            total_question: NumberCountQAC
                        });
                    } else {
                        Program.pushResult({
                            case: 1,
                            total_question: NumberCountQAC
                        });
                    }
                }

            }

        });
        //3. nhạn ket qua 1 cau hoi
        socket.on('push_client_result_vote', function (data) {
            if (data != null && Program.id_tvshow == data.id_tvshow) {
                //console.log("========== push_client_result_vote ============");
                //console.log("Server => id_show: " + data.idshow + " - id_tvshow: " + data.id_tvshow + " - id_question: " + data.id_question + " - id_answer: " + data.choice);
                //console.log("Client => id_show: " + Program.id_show + " - id_tvshow: " + Program.id_tvshow + " - id_question: " + Program.id_question + " - id_answer: " + Program.id_answer);
                $(".Choices").removeClass("effect");
                $("#answerid_" + data.choice).addClass("exactly animated_fast infinite opacity");
                if (Program.id_answer > 0) {
                    if (data.idshow == Program.id_show &&
                            data.id_tvshow == Program.id_tvshow &&
                            data.id_question == Program.id_question &&
                            data.choice == Program.id_answer) {
                        Program.Answer.exactly_number += 1;
                        Program.LastQuestion.set(function () {
                            Status.push("Bạn đã trả lời chính xác. Hãy chờ câu hỏi tiếp theo");
                            Program.LastQuestion.reset();
                        }, function () {
                            Toast.show({
                                text: "Có lỗi xảy ra. Hãy kiểm tra lại Internet hoặc thử lại.",
                                id: "gv",
                                position: "bottom"
                            });
                        });

                    } else {
                        Status.push("Bạn đã trả lời 'chưa' chính xác. Hãy chờ câu hỏi tiếp theo.");
                        Program.LastQuestion.reset();
                    }
                } else {
                    Status.push("Bạn đã bỏ qua câu hỏi này. Hãy chờ câu hỏi tiếp theo.");
                    Program.LastQuestion.reset();
                }
            }
        });
    },
    pushResult: function (options) {
        var params = {
            case: 0,
            answered_number: Program.Answer.answered_number,
            exactly_number: Program.Answer.exactly_number,
            time_total: 0,
            total_question: 0
        };

        $.extend(params, options);

        var HtmlWarning;
        var user = User.fullname == "" ? "" : " " + User.fullname;
        params.case = Program.type_qa == 1 ? "chinh su" : params.case;
        switch (params.case) {
            case 1: //1 - thành viên chưa đăng ký - ko trả lời câu hỏi
                HtmlWarning = '<div class="Result_Warning">\n\
					                        <h4>Cảm ơn bạn đã tham gia chương trình</h4>\n\
					                        <p>Bạn hãy <b><a href="' + App.Base_Url + 'tai-khoan.html">đăng nhập</a></b> và tham gia trả lời câu hỏi để nhận những phần thưởng bất ngờ từ chương trình</p>\n\
					                       </div>';
                break;
            case 2: //2 thành viên chưa đăng ký - có trả lời câu hỏi
                HtmlWarning = '<div class="Result_Warning">\n\
					                                <h4>Cảm ơn bạn đã tham gia chương trình</h4>\n\
					                                <p>Bạn đã trả lời được <b>' + params.exactly_number + '</b> câu đúng trong tổng số <b>' + params.total_question + '</b> câu.<p>\n\
					                                <p> Bạn hãy <b><a href="' + App.Base_Url + 'tai-khoan.html">đăng nhập</a></b> để tích điểm và nhận thưởng từ chương trình</p>\n\
					                               </div>';
                break;
            case 3: // 3 thanh viên đăng ký - ko trả lời
                HtmlWarning = '<div class="Result_Warning">\n\
					                                <h4>Cảm ơn bạn' + user + ' đã tham gia chương trình</h4>\n\
					                                <p>Bạn đã không tham gia trả lời câu hỏi, hãy trả lời các câu hỏi từ chương trình để nhận các phần quà hấp dẫn.</p>\n\
					                               </div>';
                break;
            case 4: //4 thành viên đăng ký và có trả lời câu hỏi - có câu trả lời đúng
                HtmlWarning = '<div class="Result_Warning">\n\
					                                <h4>Cảm ơn bạn' + user + ' đã tham gia chương trình</h4>\n\
					                                <p>Bạn đã trả lời đúng <b>' + params.exactly_number + '</b> câu trên tổng số <b>' + params.total_question + '</b> câu</p>\n\
					                                <p>trong thời gian là</p>\n\
					                                <h5>' + Program.convertTime(parseInt(params.time_total)) + '</h5>\n\
					                               </div>';
                break;
            case 5: //5 thành viên đăng ký có trả lời mà ko đúng câu nào
                HtmlWarning = '<div class="Result_Warning">\n\
					                                <h4>Cảm ơn bạn' + user + ' đã tham gia chương trình</h4>\n\
					                                <p>Bạn đã không trả lời đúng câu nào trên tổng số ' + params.total_question + ' câu</p>\n\
					                                <p>Hãy tham gia trả lời câu hỏi vào chương trình lần sau để nhận các phần quà hấp dẫn.</p>\n\
					                               </div>';
                break;
            case 6: //Người dùng kết nối sau, khi câu hỏi kết thúc
                HtmlWarning = '<div class="Result_Warning">\n\
					                                <h4>Cảm ơn bạn đã tham gia chương trình</h4>\n\
					                                <p>Câu hỏi tiếp theo sẽ có trong ít phút.</p>\n\
					                               </div>';
                break;
            default:
                HtmlWarning = '<div class="Result_Warning">\n\
								<h4>Cảm ơn bạn' + user + ' đã tham gia chương trình</h4>\n\
								<p>Chương trình tiếp theo sẽ được phát sóng vào lúc ' + Program.time + '.</p>\n\
							   </div>';
                break;
        }

        UI_Dialog.showConfirm({
            title: "Chương trình kết thúc",
            content: HtmlWarning,
            width: "400px",
            height: "218px",
            buttons: [{
                    id: "Confirm_end",
                    text: "Đồng ý"
                }],
            event: function () {
                $("#Confirm_end").on("click", function () {
                    UI_Dialog.close();
                    window.history.back();
                });
            }
        });

        Program.Answer.reset(); //reset câu đã trả lời;
        Program.LastQuestion.remove();
    }
};

function SocketConnection(results) {
    var count = 0;
    var connecter = {};
    connecter.createConnect = function (data, count, results) {
        var socketUrl = data[count];
        $.ajax({
            url: socketUrl + '/ping',
            timeout: 15000,
            success: function (result) {
                results(socketUrl);
            },
            error: function (result) {
                //console.log('timeout/error');
                if (count < data.length) {
                    count++;
                    connecter.createConnect(data, count, results);
                }
            }
        });
    };
    //console.log('socketUrl');
    $.getJSON(Program.Base_Url_Socket + "get-socket/index.php", function (data) {
        connecter.createConnect(data, count, results);
    });
}
